package com.yzh.string;

/**
 * @author 于振晗
 * @title: TestString
 * @description: TODO 字符串相关类学习
 * @date 2020年08月31日
 * @path com.yzh.string
 */
public class TestString {
    public static void main(String[] args) {
        String str = "act,ast,agt,aht";

        System.out.println("返回指定索引处的 char 值");
        System.out.println(str.charAt(0));

        System.out.println("按字典顺序比较两个字符串");
        System.out.println(str.compareTo("asdasd"));


        System.out.println("将指定字符串连接到此字符串的结尾");
        System.out.println(str.concat("ttttt"));


        System.out.println("当且仅当此字符串包含指定的 char 值序列时，返回 true");
        System.out.println(str.contains("act"));


        System.out.println("测试此字符串是否以指定的后缀结束");
        System.out.println(str.endsWith("aht"));


        System.out.println("将此字符串与指定的对象比较");
        System.out.println(str.equals("test"));


        System.out.println("将此 String 与另一个 String 比较，不考虑大小写。");
        System.out.println(str.equalsIgnoreCase("act,ast,agt,aht"));


        System.out.println("返回此字符串的哈希码");
        System.out.println(str.hashCode());


        System.out.println("返回指定字符在此字符串中第一次出现处的索引");
        System.out.println(str.indexOf('a'));


        System.out.println("返回在此字符串中第一次出现指定字符处的索引，从指定的索引开始搜索");
        System.out.println(str.indexOf(5, 0));


        System.out.println("返回指定子字符串在此字符串中第一次出现处的索引");
        System.out.println(str.indexOf("act"));


        System.out.println("返回指定子字符串在此字符串中第一次出现处的索引，从指定的索引开始");
        System.out.println(str.indexOf("act", 4));


        System.out.println("当且仅当 length() 为 0 时返回 true");
        System.out.println(str.isEmpty());


        System.out.println("返回指定字符在此字符串中最后一次出现处的索引");
        System.out.println(str.lastIndexOf("a"));


        System.out.println("返回指定字符在此字符串中最后一次出现处的索引，从指定的索引处开始进行反向搜索");
        str.lastIndexOf(5, str.length() - 1);


        System.out.println("返回指定子字符串在此字符串中最右边出现处的索引");
        System.out.println(str.lastIndexOf("aht"));


        System.out.println("返回指定子字符串在此字符串中最后一次出现处的索引，从指定的索引开始反向搜索");
        System.out.println(str.lastIndexOf("aht", str.length()));


        System.out.println("返回此字符串的长度");
        System.out.println(str.length());


        System.out.println("返回一个新的字符串，它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的");
        System.out.println(str.replace('a', 'p'));


        System.out.println("使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串");
        System.out.println(str.replace("a", "h"));


        System.out.println("使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串");
        System.out.println(str.replaceAll("a\\wt", "***"));


        System.out.println("根据给定正则表达式的匹配拆分此字符串");
        System.out.println(str.split(","));


        System.out.println("测试此字符串是否以指定的前缀开始");
        System.out.println(str.startsWith("act"));


        System.out.println("测试此字符串从指定索引开始的子字符串是否以指定前缀开始");
        System.out.println(str.startsWith("act", 0));


        System.out.println("返回一个新的字符串，它是此字符串的一个子字符串");
        System.out.println(str.substring(4));


        System.out.println("返回一个新字符串，它是此字符串的一个子字符串");
        System.out.println(str.substring(0, 3));


        System.out.println("使用默认语言环境的规则将此 String 中的所有字符都转换为小写");
        System.out.println(str.toLowerCase());


        System.out.println("返回此对象本身（它已经是一个字符串！）");
        System.out.println(str.toString());


        System.out.println("使用默认语言环境的规则将此 String 中的所有字符都转换为大写");
        System.out.println(str.toUpperCase());


        System.out.println("返回字符串的副本，忽略前导空白和尾部空白");
        System.out.println(str.trim());


    }

}
